import store from '@/store'

// 开放页面
const publicPage = ['/login', '/404']
export default (router) => {
  router.beforeEach((to, from, next) => {
    // 已经登录，token失效前不能进入login
    if (store.getters.token) {
      if (to.path === '/login') {
        next('/')
      } else {
        // 获取一遍用户信息
        if (!store.getters.hasUserInfo) {
          console.log('获取用户信息')
        }
        // 权限不足不得跳转
        console.log('权限', to.meta.roles, store.getters.userInfo.role)
        if (to.meta && to.meta.roles) {
          // 如果当前的用户的角色不在roles里面证明无权访问该路由
          if (to.meta.roles.indexOf(store.getters.userInfo.role) === -1) {
            next('/403')
          }
        }
        next()
      }
    } else {
      // 未登录时只能访问开放页面
      if (publicPage.indexOf(to.path) > -1) {
        next()
      } else {
        // 否则只能跳登录页面
        next('/login')
      }
    }
  })
}
